1. Field of the Invention
The present invention relates to a compound document managing system that can manage a compound document, including text data and multimedia data such as image data and voice data, and edit the multimedia data embedded in the compound document by relating the data with an application that created the data.
2. Description of the Related Art
With the advance in computer technology, there is a growing tendency to deal with a compound document file formed by embedding not only text data but also multimedia data such as image data, time-varying image data, voice data or the like in a document file.
According to a conventional compound document managing system for managing such compound document file, the multimedia data embedded in the compound document can be edited using the application that created the data, by relating an individual multimedia data embedded in the compound document with the corresponding application that created the multimedia data. When the data being referred to (called "linking" hereinafter) in the compound document is updated using of the application that created the data, the updated content is automatically reflected in the data within the compound document. For example, "OLE" (Object Linking and Embedding) manufactured by Microsoft CO., "OpenDoc" manufactured by Apple Computer, Inc. discloses such compound document managing system.
FIG. 9 is a block view showing an example of an organization of this kind of conventional compound document managing system.
This compound document managing system comprises a compound document managing unit 500, including an application information storage unit 10, a public procedure name obtaining unit 20, an application managing unit 30, a procedure starting unit 40 and an embedding control unit 50, and applications AP60 and AP70, which are utilized by the compound document managing unit 500. In order to constitute a compound document managing function, the application AP60 is provided with a predetermined public procedure name table 61, a container managing unit 62 and a storage unit 63 for storing the compound document data therein, and also the application AP70 is provided with a predetermined public procedure name table 71, a content managing unit 72 and a storage unit 73 for storing the compound document data therein. Procedure names and procedure addresses corresponding to the names are stored in the public procedure name tables 61 and 71. Formats of the tables are previously determined.
The public procedure name obtaining unit 20 acquires procedure names by referring to the public procedure name tables 61, 71 of the respective applications AP60, AP70.
The application managing unit 30 is provided with a function to register combination information, which indicates relation between the respective applications AP60, AP70 and the types of the data generated by the applications, as application information in the application information storage unit 10, as well as a function to start the corresponding application AP60 or AP70 on the basis of the type of the given data.
In accordance with a request from one of the applications AP60, AP70, the procedure starting unit 40 starts a procedure in the other application and obtains the result. It is thus possible to start a desired procedure on the basis of the public procedure name tables 61, 71. Even when the applications AP60, AP70 exist in logically different memory spaces, the procedure starting unit 40 starts a procedure of any application of the two and obtains the result.
The embedding control unit 50 controls execution of procedure process inclusive of calling sequences, which are frequently performed when using the procedure names stored in the public procedure name tables 61 and 71.
More specifically, in case of newly embedding data of the application AP60 in a document, the embedding control unit 50 defines, as one procedure, a series of procedures for starting the application AP60 through the application managing unit 30, obtaining a procedure of creating data of the application AP60 from the public procedure name table 61 by using the public procedure name obtaining unit 20, and starting a procedure necessary for creating the data obtained from the public procedure name table 61 by the procedure starting unit 40, and the embedding control unit 50 controls the execution of the series of procedures. When extracting the application information by utilizing the procedure of the content managing unit 72 and storing the information and data, the embedding control unit 50 defines a series of procedures for referring to the public procedure name table 71 and calling the procedure of the content managing unit 72 as one procedure, and controls the execution thereof.
The applications that utilize the compound document managing unit 500 are of the type having a function to paste the data created by another application in the compound document, a function to create data that can be pasted in the compound document so to supply the data to another application, and both of the above-described functions.
Because the application having both functions can be readily understood from the applications of the remaining two types, it is supposed that the remaining two types of applications are used in FIGS. 9 and 10. That is to say, the application AP60 is of the type that can paste the data created by another application in the document, and the application AP70 is of the type that can supply the data capable of being pasted to another application.
In the application AP60 dealing with the compound document in which the data can be pasted, addresses of a series of procedures (sub-module) corresponding to functions of the container managing unit 62 are respectively assigned to entries of the previously defined public procedure name table 61. Thus, a procedure registered in the public procedure name table 61 can be called by the embedding control unit 50.
The container managing unit 62 manages layout information such as the position, largeness and size of the data in the document as a container. The container managing unit 62 acquires a procedure (function) of the content managing unit 72 provided in the application AP70 via the public procedure name obtaining unit 20, by referring to the public procedure name table 71, and operates the content of the data by calling the corresponding procedure. The content managing unit 72 provides a series of common procedures for editing data to be pasted in a plurality of and different kinds of compound documents.
In the application AP70, which supplies the data capable of being pasted, addresses of a series of procedures (sub-module) corresponding to functions of the content managing unit 72 are respectively assigned to entries of the previously defined public procedure name table 71.
The content managing unit 72 obtains a procedure of the container managing unit 62 provided in the application AP60 via the public procedure name obtaining unit 20, by referring to the public procedure name table 61, and notifies modification of the content of the data by utilizing the obtained procedure, or stores the data managed by the container managing unit 62.
Assuming that the applications AP60, AP70 are provided with the functions as mentioned above, the compound document managing unit 500 obtains a required procedure through the public procedure name obtaining unit 20 by referring to the public procedure name tables 61, 71 without recognizing the internal structures of the applications AP60, AP70, and starts the procedure obtained from the public procedure name tables 61 and 71 by using the procedure starting unit 40, or prepares the embedding control unit 50 for starting the applications AP60, AP70 by using the application managing unit 30.
In the case where the application AP60 having the content managing unit 62 is started relative to the compound document in which the data created by the application AP70 having the content managing unit 72 is embedded, the embedding control unit 50 at first acquires an identifier corresponding to a public procedure name table 71 to obtain an editing procedure of the content managing unit 70 of the application AP70 by using the public procedure name obtaining unit 20. When editing the data created by the application AP70 embedded in the compound document, the embedding control unit 50 starts the objective application AP70 on the basis of the application information accompanying with the data by means of the application managing unit 30.
As a result, the procedure held by the public procedure name table 71 becomes a procedure for editing to constitute the content managing unit 72 of the started application AP70, and the procedure can be called by referring to the public procedure name table 71. Accordingly, as for the application AP60 having the container managing unit 62 and the application AP70 having the content managing unit 72, the predetermined public procedure name tables 61, 71 possess the addresses of the procedures of the container managing unit 62 and the content managing unit 72, respectively, so that the respective public procedure name tables 61, 71 can be referred to on the basis of the functions provided by the compound document managing unit 500. The two different applications AP60 and AP70 thus operate as if they share roles of changing and modifying layout of the data.
FIG. 10 is a block view showing an organization of another conventional compound document control unit 600.
As illustrated, this compound document control unit 600 further comprises a link control unit 80 in addition to the compound document control unit 500 of FIG. 9 comprising the application storage unit 10, the public procedure name obtaining unit 20, the procedure starting unit 40 and the embedding control unit 50.
When the data of the application AP70 is embedded in the container of the document of the application AP60, a link control unit 80 does not embed the whole data of the application AP70 as it is, but links to the container only an identifier that indicates a part of the document of the referred application AP70.
For example, only the identifier indicating the document data of the referred application AP70 is stored as a link data in the document of the application AP60, which has been arranged to be linked to the document of the application AP70. At a result, the document of the application AP60 need not possess the whole data corresponding to a reference part of the document data in the application AP70, thereby making the file size of the application AP60 small.
Even if editing is added to the data of the referred application AP70, the original data of the application AP60 is not altered. However, the alteration of the data in the application AP70 is reflected in the original data of the application AP60, since the identifier showing the document data is only stored as a link data.
At this time, in the document of the application AP60, the identifier showing the data of the application AP70 and the information of the alteration work showing the content of the alteration work to be added to the data are stored as a link data. Therefore, if a part of the document of the application AP70, that is the original data, is updated, the alteration added to the original data is automatically reflected in the document of the application AP60.
For example, assume that in the document of the application AP60 referring to the computer graphics, which are data of the application AP70, size or color is altered and shadow is added in some pages (linked portions). At this time, the link data including the identifier indicating the computer graphics and the respective alteration work of every linked portion is stored in the document of the application AP60. Therefore, if precisely rewriting the computer graphics in the part of the application AP70, the computer graphics rewritten precisely (having altered in size or color, or having shadow added there) is reflected in the document of the application AP60 automatically. Also, in this case, the document of the application AP60 need not possess more than one data of the original computer graphics, thereby to save the memory with respect to the size of the document and the data transfer amount at update. It is all the same if replacing the application AP60 by AP70 and linking data in the mutual documents.
The conventional compound document control system as mentioned above is capable of relating each data of the compound document with an application that created the corresponding data. However, it is impossible to control information about such history and quality of the data (hereinafter, referred to as semantic information), e.g., "the information showing who has edited", "the information showing whom the data is to be shown", "the information showing emergency and priority of the data", which are important points under such distributed environment where computers are connected through a network.
For example, assume that an audience can write questions in presentation materials prepared by a presenter, looking at the materials by using the respective application for the presentation. Under this environment, if it is possible to automatically start an application for sending electronic mail, the presenter could send a response to each question written by the audience regarding the presentation materials, which will be very convenient.
However, in the conventional compound document managing system, the application information for starting an application that created the data is only related with the corresponding data. Owing to this, it is impossible to automatically find a destination to send a response to a question, that prevents the application for the electric mail starting, though it is possible to start the application for the presentation utilized when writing questions in the presentation materials.
The "semantic information showing who has edited" is an important information in the application operated by more than one person at a time. Then, "the information showing history (version) of the data" and "the information showing priority of the data" are important semantic information for the users dealing with the compound documents mainly.
Since the semantic information about such history and quality of the data cannot be related with the data in the conventional compound document managing system, the semantic information must be related with the data in every application. Briefly, the semantic information that has been related is only available in the corresponding application. Accordingly, in the conventional system, users are forced to select and execute the operational procedure with a lot of trouble, which procedure will be easy if automation is realized like an electric mail program mentioned above.